#include<iostream>
#include<vector>


using namespace std;

const int N=1e5+10;
bool cmz[N];
vector<int> arr[N];//存树

void dfs(int u)
{
	cout<<u<<" ";
	cmz[u]=true;
	for(auto h:arr[u])
	{
		if(!cmz[h])
		{
			dfs(h);
		}
	}
}
int main()
{
	int n;cin>>n;
	while(n--)
	{
		int a,b;cin>>a>>b;
		// a 和 b 之间有⼀条边
		arr[a].push_back(b);
		arr[b].push_back(a);
	}
	dfs(1);
	return 0;
}

// 测试用例
// 11
// 1 3
// 7 3
// 3 10
// 1 5
// 4 5
// 2 1
// 11 2
// 6 11
// 11 8
// 11 9
// 11 6